#include<iostream>
#include<string>
using namespace std;

int lengthOfLongestSubstring(string s) {
    int Hash[128] = { 0 };
    int left = 0, right = 0;
    int ret = 0;
    while (right < s.size())
    {
        Hash[s[right]]++;
        while (Hash[s[right]] > 1)
            Hash[s[left++]]--;
        ret = max(ret, right - left + 1);
        right++;
    }
    return ret;
}
//bool isSame(string s)
//{
//    for (int i = 0; i < s.size(); i++)
//    {
//        for (int j = i + 1; j < s.size(); j++)
//        {
//            if (s[i] == s[j])
//                return true;
//        }
//    }
//    return false;
//}
//int lengthOfLongestSubstring(string s) {
//    int ret = 0;
//    int left = 0;
//    for (int right = 0; right < s.size(); right++)
//    {
//        string tmp;
//        int l = left;
//        while (l <= right)
//        {
//            tmp += s[l++];
//            ret = max(ret, right - left + 1);
//        }
//        while (isSame(tmp))
//        {
//            left++;
//            ret--;
//            break;
//        }
//    }
//    return ret;
//}
int main()
{
    string s("bbbbbbb");
    int n = lengthOfLongestSubstring(s);
    cout << n << endl;
    return 0;
}